6. 导航接入

6.1 设置导航remote view
/**
 * 设置导航remote view
 */
AiNavi.getInstance().setNaviRemoteViewImpl(AbsNaviRemoteView remoteView);

/**
 * 导航view
 */
public abstract class AbsNaviRemoteView {

   /**
     * 显示列表
     * @param lstOfPoi       poi列表数据
     * @param currPage       当前页
     * @param currSelectItem 当前选中项
     */
    public abstract void showList(List<Poi> lstOfPoi, int currPage, int currSelectItem);

    /**
     * 显示路况view
     * @param bean 路况数据
     */
    public abstract void showTrafficView(RoadCondition bean);

    /**
     * 跳转导航首页
     */
    public void jumpNaviIni();

    /**
     * 显示加载view
     * @param loadStatus 加载状态 loading /failed/noresult
     */
    public void showLoadView(String loadStatus);

    /**
     * 显示搜索结果View
     * @param searchResult 搜索结果
     */
    public void showSearchResultView(SearchResult searchResult);

    /**
     * 列表数据更新
     * @param searchResult 列表数据更新 分词 翻页
     */
    public void onListDataUpdate(SearchResult searchResult);

    /**
     * 显示路径终点view
     * @param destPoi  目的地
     */
    public void showRouteDestView(Poi destPoi);

    /**
     * 展示路线选择引导
     * @param routeIntent RouteIntent
     */
    public void showRoutePathSelectGuide(int routeIntent);

    /**
     * 隐藏路径选择引导页
     */
    public void dismissRoutePathSelectGuide();

    /**
     * 路线规划倒计时task
     * @param opt  "remove" "reset"
     */
    public void dealRouteCodeDownTask(String opt);

    /**
     * 显示导航通知view
     * @param naviNotification 显示导航通知 -> 详见6.9
     */
    public void showNaviNotification(NaviNotification naviNotification);

    /**
     * 隐藏通知条
     * @param naviNotificationType 通知条类型 -> 详见6.9
     */
    public void dismissNaviNotification(int naviNotificationType);

    /**
     * 导航开始时显示提示卡
     */
    public void showStartedNaviGuideTips(List<String> datas, LatLng latLng);

    /**
     * 导致退到后台, 隐藏卡片
     */
    public void dismissStartedNaviGuideTips();

    /**
     * 显示团购view
     */
    public void showGroupBuyView(String groupBuyData);
}
6.2 导航列表view翻页通知语音

UI翻页时需要将当前页码的index设置给语音, 语音需要该页码index来保证"上一页/下一页"指令的正确性.

/**
 * @param mCurPageIndex 翻页后的页码 index=[0~2]
 */
AiNavi.getInstance().onListPageChanged(mCurPageIndex);

Tips: 默认列表暂时只支持3x3显示, 且index取值从0开始, 所以pageIndex只取0~2范围
6.3 导航列表点击选中
/**
 * @param itemIndex 选中项在当前页的index
 * @param poi 选中poi
 */
AiNavi.getInstance().onListItemSelected(itemIndex,poi);
6.4 设置导航路线规划或地图模式
/**
 * 设置路线规划或模式切换
 * @param strategyOrMode 路线规划或模式切换 (来源:AbsNaviRemoteView#showStartedNaviGuideTips)
 */
 AiNavi.getInstance().setRoutePlanStrategyOrMapMode(String strategyOrMode);
6.5 跳转到导航首页
/**
 * 跳转导航首页
 * @param isForceJump 语音切到导航指令
 * @param isJumpNaviIndex 跳转导航语音首页
 */
AiNavi.getInstance().jumpNaviIndex(boolean isForceJump, boolean isJumpNaviIndex);
6.6 取消路径规划
/* 
 * 取消路径规划
 */
AiNavi.getInstance().cancelRoute()
6.7 确认路径选择
/**
 * 确认选择路径
 */
AiNavi.getInstance().confirmRoutePath()
6.8 全局退出
/**
 * 全局退出
 * @param toJumpNaviAppIndex 是否跳转导航app首页
 */
AiNavi.getInstance().onGlobalExit(boolean toJumpNaviAppIndex)
6.9 导航通知使用
//使用步骤: 
//1.在收到通知时判断通知类型, 构造相应TTS及显示文本, 然后发起语音通知(AiLit#...#reportNotification).
//2.选中结果回调的使用:
    NaviNotificationSelection selection = new NaviNotificationSelection();
    selection.setType(NaviNotificationType.CHANGE_STRAGY); //通知类型.参考NaviNotificationType
    selection.setOperation(NaviNotificationOperate.CONFIRM); //选中结果:confirm / cancel
    selection.setStrategy(strategy); //通知类型 = CHANGE_STRAGY才需要添加.参考NaviRoutePlanStrategy
    AiNavi.getInstance().onNaviNotificationSelect(selection);//回调选中结果

//导航通知
class NaviNotification {
    /**
     * {@link NaviNotificationType}
     */
    private int type;
    /**
     * {@link NaviRoutePlanStrategy}
     */
    private String routeStrategy;
}

//导航通知类型
class NaviNotificationType {
    int EXIT_NAVI = 1;//退出导航
    int CHANGE_STRAGY = 2;//切换路径策略
    int CONTINUE_NAVI = 3;//继续导航
    int AVOID_JAM_ROUTE = 4;//躲避拥堵路线推荐
}

//路线优化策略
class NaviRoutePlanStrategy {
    /**
     * 躲避拥堵
     **/
    String DRIVING_AVOID_CONGESTION = "DrivingAvoidCongestion";
    /**
     * 避免收费
     **/
    String DRIVING_SAVE_MONEY = "DrivingSaveMoney";
    /**
     * 不走高速
     */
    String DRIVING_NO_HIGHWAY = "DrivingNoHighWay";
    /**
     * 高速优先
     **/
    String DRIVING_HIGHWAY = "DrivingHighWay";
    /**
     * 默认推荐  多策略算路 最近 最快 推荐
     **/
    String DRIVING_RECOMMEND = "DrivingRecommend";
    /**
     * 躲避拥堵&少收费
     **/
    String DRIVING_AVOID_CONGESTION_SAVE_MONEY = "DrivingAvoidCongestionSaveMoney";
}

results matching ""

    No results matching ""